In order to protect data from unauthorized access, some data storage systems implement encryption. In these data storage systems, data is encrypted prior to writing it to disk. In one conventional data storage system, encryption is effectuated by storing a set of keys in memory and encrypting data written to disk with one or more of the keys stored in system memory.
Some data storage systems utilize write-back caching in order to gain a performance advantage over write-through caching. In order to avoid a loss of data, a data storage system utilizing write-back caching must take steps to ensure that data stored in the cache but not yet written to disk storage is protected from system failures. Thus, in one conventional data storage system, when a system failure is deemed to be imminent, the entire contents of the system's write cache (stored in volatile memory) is stored (or vaulted) to a vault location of (non-volatile) disk storage. The contents of the write cache include data as well as storage system instructions indicating where the data is to be stored on disk. Since performing all of the storage system instructions stored in the cache can be a time-consuming process (because numerous time-intensive seek operations need be carried out and because the processor overhead may slow the process), writing all of the contents of the write cache to a single contiguous vault location (or a small set of contiguous vault locations) will be much faster (due to fewer seek operations and less processor overhead), allowing more data to be saved before system failure occurs. The vault is also used to store certain system critical parameters that are necessary for a system to initialize and configure itself properly when it is powered on or restarted. If this information is obscured by encryption, then the encryption system must be re-established before the vault can be completely restored and the system can resume normal operation.